//聊天会话成员表映射对象
#pragma once
#include <string>
#include <cstddef> 
#include <odb/nullable.hxx>
#include <odb/core.hxx>

// odb -d mysql --std c++11 --generate-query --generate-schema --profile boost/date-time cheat_session_member.hxx
namespace xchat
{

#pragma db object table("chat_session_member")
class ChatSessionMember
{
public:
    ChatSessionMember() {}
    //用户名--新增id -- 用户ID 昵称 密码
    ChatSessionMember(const std::string &ssid, const std::string &uid)
        :_session_id(ssid), _user_id(uid)
    {}

    std::string session_id() const { return _session_id; }
    void session_id(const std::string &ssid) { _session_id = ssid; }

    std::string user_id() const { return _user_id; }
    void user_id(const std::string &uid) { _user_id = uid; }

private:
    friend class odb::access;

    #pragma db id auto
    unsigned long _id;
    #pragma db type("varchar(64)") index //一条消息就有一个会话id 不能为空
    std::string _session_id;    
    #pragma db type("varchar(64)") //一个用户可以多个会话 不能为空
    std::string _user_id;

};
}